; ModuleID = 'llvm_expressions/sample26-virt-max-merge-lenght-10.ll'
source_filename = "llvm_expressions/sample26-virt-max-merge-lenght-10.ll"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"

; Function Attrs: norecurse nounwind readnone
define i64 @SECRET(i64 %SymVar_0) local_unnamed_addr #0 {
.3:
  %.6 = lshr i64 %SymVar_0, 5
  %.8 = and i64 %.6, 117709218
  %.9 = or i64 %SymVar_0, 441848546
  %.10 = add i64 %.8, %.9
  %.11 = shl i64 %.10, 3
  %.14 = and i64 %.11, 120
  %.19 = add i64 %SymVar_0, -63267836
  %.20 = or i64 %.14, %.19
  %.22 = shl i64 %.20, 3
  %.25 = and i64 %.22, 120
  %.26 = or i64 %.25, %.20
  %.27 = shl i64 %.26, 3
  %.35 = add i64 %SymVar_0, -43022659
  %.38 = lshr i64 %.10, 3
  %.39 = and i64 %.38, 14
  %.40 = or i64 %.39, 1
  %.54 = shl i64 828565327, %.40
  %.58 = lshr i64 %.54, 4
  %.59 = and i64 %.58, 6
  %.60 = or i64 %.59, 1
  %.64 = shl i64 %.35, %.60
  %.66 = or i64 %.27, %.64
  %.67 = shl i64 %.64, 3
  %.68 = and i64 %.67, 16
  %.75 = and i64 %.27, 120
  %.76 = or i64 %.75, %.26
  %.77 = or i64 %.76, %.68
  %.78 = lshr i64 %SymVar_0, 53
  %.80 = and i64 %.78, 55
  %.95 = and i64 %.6, 22784
  %.97 = or i64 %.80, %.95
  %.100 = and i64 %.6, 7667712
  %.102 = or i64 %.97, %.100
  %.105 = and i64 %.6, 4009754624
  %.107 = or i64 %.102, %.105
  %0 = lshr i64 %SymVar_0, 13
  %.123 = and i64 %0, 442381631488
  %.124 = or i64 %.107, %.123
  %1 = shl i64 %SymVar_0, 3
  %.134 = and i64 %1, 144036023238656
  %.135 = or i64 %.124, %.134
  %.137 = shl i64 %.6, 48
  %.144 = and i64 %.137, 65865144550293504
  %.149 = and i64 %.6, 72057594037927936
  %.145 = or i64 %.135, %.149
  %.150 = or i64 %.145, %.144
  %.154 = shl nuw nsw i64 %.80, 1
  %.155 = lshr i64 %.10, 35
  %.190 = and i64 %.155, 2097151
  %.19211 = lshr i64 %.10, 56
  %.195 = shl nuw nsw i64 %.19211, 21
  %.196 = or i64 %.195, %.154
  %.244 = or i64 %.196, %.190
  %.248 = and i64 %.244, 14
  %.249 = or i64 %.248, 1
  %.250 = sub nsw i64 64, %.249
  %.256 = shl i64 %.77, %.250
  %.265 = lshr i64 %.77, %.249
  %.266 = or i64 %.256, %.265
  %.267 = shl i64 %.266, 2
  %.270 = and i64 %.267, 60
  %.271 = lshr i64 %.64, 32
  %.310 = and i64 %.271, 16777215
  %.31230 = lshr i64 %.64, 56
  %.315 = shl nuw nsw i64 %.31230, 24
  %.316 = or i64 %.310, %.315
  %.318 = shl i64 %.66, 32
  %.340 = and i64 %.318, 1090921693184
  %2 = shl i64 %.64, 32
  %.346 = and i64 %2, 280375465082880
  %.352 = and i64 %2, 71776119061217280
  %.355 = lshr i64 %.64, 24
  %.358 = shl i64 %.355, 56
  %.387 = and i64 %.244, 6
  %.388 = or i64 %.387, 1
  %.394 = shl i64 %.150, %.388
  %.341 = or i64 %.316, %.346
  %.347 = or i64 %.341, %.352
  %.353 = or i64 %.347, %.358
  %.359 = or i64 %.353, %.77
  %.360 = or i64 %.359, %.340
  %.361 = or i64 %.360, %.394
  %.395 = or i64 %.361, %.270
  ret i64 %.395
}

attributes #0 = { norecurse nounwind readnone }
